package cn.kpi.dao.lawassessment;

import cn.kpi.common.persistence.MyBatisDao;

import cn.kpi.entity.lawassessment.LawAssTempCreateIndexEntity;
import cn.kpi.entity.lawassessment.LawAssTemplateEntity;
import cn.kpi.entity.lawassessment.LawAssTemplateIndexEntity;
import cn.kpi.entity.lawassessment.LawAssTemplateOrgEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@MyBatisDao
public interface LawAssTemplateDao {

    public List<LawAssTemplateIndexEntity> GetTemplateIndexListRowSpan()throws Exception;
    public List<LawAssTemplateEntity> GetLawAssTemplateListByWhere(@Param("where") String where)throws Exception;
    public int GetLawAssTemplateListCountByWhere(@Param("where") String where)throws Exception;

    public List<LawAssTemplateIndexEntity> GetTemplateIndexListByWhere(@Param("where") String where)throws Exception;
    public LawAssTemplateIndexEntity GetIndexById(@Param("assindexid") Long assindexid)throws Exception;
    public List<LawAssTempCreateIndexEntity> GetIndexListByWhere(@Param("where") String where)throws Exception;
    public List<LawAssTempCreateIndexEntity> GetTemplateIndexBytemplateid(@Param("templateid") Long templateid)throws Exception;
    public int UpdateIndex(LawAssTemplateIndexEntity entity)throws Exception;
    public int updateSubmit(@Param("templateid") Long templateid, @Param("issubmit") int issubmit)throws Exception;
    public int InsertTemplateIndexentity(LawAssTemplateIndexEntity entity)throws Exception;
    public int UpdateParentscore(@Param("assindexid") Long assindexid, @Param("score") int score)throws Exception;
    public int DeleteIndex(@Param("assindexid") Long assindexid, @Param("parentid") Long parentid)throws Exception;
    public int DeleteLawTempEntity(Long templateid)throws Exception;
    public int DeleteLawTempCreateIndexEntity(Long templateid)throws Exception;
    public List<LawAssTemplateIndexEntity> GetTemplateIndexListRowSpanByTempId(@Param("templateid") Long templateid)throws Exception;
    public LawAssTemplateEntity GetLawAssTemplateListById(Long templateid)throws Exception;
    public int InsertTemplateEntity(LawAssTemplateEntity entity)throws Exception;
    public int InsertTempCreateIndexBatch(List<LawAssTempCreateIndexEntity> list)throws Exception;
    public int UpdateLawAssTempEntity(LawAssTemplateEntity entity)throws Exception;
    public int InsertLawTempOrgBatch(@Param("templateid") Long templateid, @Param("list") List<Long> list)throws Exception;
    public int DeleteLawTempOrgBatch(@Param("templateid") Long templateid)throws Exception;
    public List<LawAssTemplateOrgEntity>GetTempOrgListByTempId(@Param("templateid") Long templateid);
    public List<LawAssTemplateOrgEntity>GetChooseOrgListByTempId(@Param("templateid") Long templateid);


      public  int updateTName(LawAssTemplateEntity lawAssTemplateEntity);


    public  List<Map> getWeights(@Param("where") String where);
}
